/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package manejoExcepciones;

import java.util.Date;
import javax.swing.JOptionPane;

/**
 *
 * @author Gustavo
 */
public class ExcepcionesPago extends Exception{

    public ExcepcionesPago (String Mensaje){

        super(Mensaje);

    }

     /**
    * Excepcion que verifica si la introdcción de las fecha no son
    * pasadas (anteriores a la actual)
    *
    * @param Date fecha
    *        Campo de fecha para los servicios, fechas de cortes y
    *        fechas de pagos
    *
    */

    public static void FechaValida(Date fecha)
    throws ExcepcionesPago{

        java.util.Date fechaSistema = new Date();
        long fechaSistemaResta = fechaSistema.getTime();
        long fechaEntradaResta = fecha.getTime();
          if (fechaSistemaResta - fechaEntradaResta > 0)
          throw new ExcepcionesPago("La fecha debe ser valida " +
              "revisar mes y/o año, la fecha no puede ser antes de la actual");
    }
    


/**
     * Excepcion que verifica si los campos obligatorios para introducir un
      * pago se encuentran llenos
     *
     * @param String nombre, Date fechaCorte, Date fechaPago , float monto
     *        Campos obligatorios para registrar un pago.
     *
     */

    public static void CamposVacios(String nombre, Date fechaCorte,
                                    Date fechaPago , String monto)
                                    throws ExcepcionesPago{

         String fechaPagoS = String.valueOf(fechaPago);
         String fechaCorteS = String.valueOf(fechaCorte);
         
        if (nombre.equalsIgnoreCase("") || fechaCorteS.equalsIgnoreCase("null")
       || fechaPagoS.equalsIgnoreCase("null") || monto.equalsIgnoreCase("")){

            throw new ExcepcionesPago("Campos obligatorios no llenos");


        }

    }


   /**
    * Excepcion que verifica si el monto a pagar de un servicio no es negativo
    *
    * @param float monto
    *        Campo numerico para registrar un pago.
    *
    */

    public static void CampoNoNegativo(float monto)
    throws ExcepcionesPago{

        if (monto < 0){
          throw new ExcepcionesPago("El campo monto no " +
              "pueden ser negativos");

        }
    }

}
